import React from 'react';
import ReactDOM from 'react-dom';
import './css/index.css';
// import App from './components/App.jsx';
import TodoApp from './components/todos/TodoApp.jsx'


// // 集成redux
// // 1. 导入redux中的ecreateStore函数
// import {createStore} from 'redux'

// // 2. 定义一个reducer函数
// const reducer = (state = {count:100},action)=>{
//   // 这里根据将来提交的action处理业务逻辑
//   console.log(action)
//   switch(action.type){
//     case "increment":
//     {
//       return {
//         count:state.count + action.payload
//       }
//     }
//     case "decrement":
//     {
//       return {
//         count:state.count - action.payload
//       }
//     }
//     default:
//       return state
//   }
// }

// // 3. 根据reducer创建一个store实例
// const store = createStore(reducer)

// // 4. 将store实例挂载到React.Component.prototype上面,保证所有组件都可以访问到store实例
// React.Component.prototype.$store = store

// // 使用 store.subscribe监听state数据的改变
// // store.subscribe(()=>{
// //   console.log(store.getState())
// // })




// 集成redux
import store from './redux/store.js'
// React.Component.prototype.$store = store


// 集成react-redux
import { Provider } from 'react-redux'

ReactDOM.render(
  // Provider身上绑定store属性之后，项目中所有子组件都可以访问到公共的state数据
  // 利用的是context特性传值
  <Provider store={store}>
    <TodoApp />
  </Provider>, document.getElementById('root'));
